<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //? 首尾节流：是指在时间间隔内的第一次触发事件和最后一次触发事件时执行函数，然后在间隔时间内忽略所有的其他触发事件
    function throttle(func, delay) {
        let timerId;
        return function() {
            if (!timerId) {
                func.apply(this, arguments);
                timerId = setTimeout(() => {
                    timerId = null;
                }, delay);
            }
        };
    }
    // 使用节流函数包装需要执行的函数
    const throttledFunction = throttle(function() {
        console.log("执行函数");
    }, 1000);
    // 调用节流函数
    throttledFunction();
    throttledFunction();
    throttledFunction();
</script>
</body>
</html>
